Smartlocks: Self-Aware Synchronization through Lock Acquisition Scheduling

نویسندگان

  • Jonathan Eastep
  • David Wingate
  • Marco D. Santambrogio
  • Anant Agarwal
چکیده

As multicore processors become increasingly prevalent, system complexity is skyrocketing. The advent of the asymmetric multicore compounds this – it is no longer practical for an average programmer to balance the system constraints associated with today’s multicores and worry about new problems like asymmetric partitioning and thread interference. Adaptive, or self-aware, computing has been proposed as one method to help application and system programmers confront this complexity. These systems take some of the burden off of programmers by monitoring themselves and optimizing or adapting to meet their goals. This paper introduces an open-source self-aware synchronization library for multicores and asymmetric multicores called Smartlocks. Smartlocks is a spin-lock library that adapts its internal implementation during execution using heuristics and machine learning to optimize toward a user-defined goal, which may relate to performance, power, or other problem-specific criteria. Smartlocks builds upon adaptation techniques from prior work like reactive locks [1], but introduces a novel form of adaptation designed for asymmetric multicores that we term lock acquisition scheduling. Lock acquisition scheduling is optimizing which waiter will get the lock next for the best long-term effect when multiple threads (or processes) are spinning for a lock. Our results demonstrate empirically that lock scheduling is important for asymmetric multicores and that Smartlocks significantly outperform conventional and reactive locks for asymmetries like dynamic variations in processor clock frequencies caused by thermal throttling events.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Lock-Free Red-Black Trees Using CAS

The negative side-effects of using lock-based synchronization mechanisms are well known and include unexpected scheduling anomalies such as priority inversion and convoying as well as unnecessary synchronization overhead and the potential for deadlock. Despite these drawbacks, the use of lock-free techniques has not gained widespread acceptance. The reasons for this lack of acceptance include t...

متن کامل

Self-organizing Transmission Scheduling Considering Collision Avoidance for Data Gathering in Wireless Sensor Networks

mission and sleep scheduling mechanisms for periodically gathering sensor data at a base station in wireless sensor networks. In our proposed mechanisms, we use a conventional self-organizing communication mechanism based on phase-locking in a pulse-coupled oscillator model to propagate sensor data from the edge of the network to the base station in order of hop counts from the base station. In...

متن کامل

Synthesis: an Eecient Implementation of Fundamental Operating System Services Synthesis: an Eecient Implementation of Fundamental Operating System Services

This dissertation shows that operating systems can provide fundamental services an order of magnitude more eeciently than traditional implementations. It describes the implementation of a new operating system kernel, Synthesis, that achieves this level of performance. The Synthesis kernel combines several new techniques to provide high performance without sacriicing the expressive power or secu...

متن کامل

Contention-Aware Lock Scheduling for Transactional Databases

Lock managers are among the most studied components in concurrency control and transactional systems. However, one question seems to have been generally overlooked: “When there are multiple lock requests on the same object, which one(s) should be granted first?” Nearly all existing systems rely on a FIFO (first in, first out) strategy to decide which transaction(s) to grant the lock to. In this...

متن کامل

Blocking Optimality in Distributed Real-Time Locking Protocols

Lower and upper bounds on maximum priority inversion blocking (pi-blocking) are established under distributed multiprocessor real-time semaphore protocols (where resources may be accessed only from specific synchronization processors). Prior work on shared-memory multiprocessor semaphore protocols (which require resources to be accessible from potentially any processor) has established bounds o...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009